Skip to content

Conversation

cacieprins
Copy link
Contributor

@cacieprins cacieprins commented Aug 8, 2025

Additional details

Rather than maintaining an ever-growing list of regular expressions to filter electron stderr output, I've opted to provide a holistic approach:

The errors lib now exports a few utility transform streams, and an error logging function. When the utility streams are used in conjunction with the tags that are exported alongside the error logging function, parent processes can effectively split "first party" stderr output from "third party" stderr output.

Steps to test

How has the user experience changed?

PR Tasks

@cacieprins cacieprins changed the base branch from develop to release/15.0.0 August 8, 2025 18:12
@cacieprins cacieprins marked this pull request as draft August 8, 2025 18:13
Copy link

cypress bot commented Aug 11, 2025

cypress    Run #64792

Run Properties:  status check failed Failed #64792  •  git commit fea55c1c20: rm too narrow rules file
Project cypress
Branch Review fix/audio-error-stdout
Run status status check failed Failed #64792
Run duration 15m 48s
Commit git commit fea55c1c20: rm too narrow rules file
Committer Cacie Prins
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 11
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 630
View all changes introduced in this branch ↗︎
UI Coverage  0%
  Untested elements 4  
  Tested elements 0  
Accessibility  100%
  Failed rules  0 critical   0 serious   0 moderate   0 minor
  Failed elements 0  

Tests for review

Failed  cypress/e2e/studio/studio.cy.ts • 1 failed test • app-e2e

View Output

Test Artifacts
Cypress Studio > writes the studio commands to the test block when the spec is updated on the file system and file watching is disabled Test Replay Screenshots

@jennifer-shehane jennifer-shehane changed the base branch from release/15.0.0 to develop August 11, 2025 17:51
"**/*.test.ts"
],
"compilerOptions": {
"target": "ES2018",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are we able to use a newer target?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could; this is what's in ts/tsconfig.json though. I can't use that file directly because of "importsNotUsedAsValues".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually don't think we should be importing the config from @packages/ts as it couples every package too tightly on how each package needs to compile. Maybe just me though

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, absolutely. Just using the shared/common target that the rest of the repo does.

@@ -10,8 +10,12 @@ const paths = require('./paths')
const install = require('./install')
let fs = require('fs-extra')

const debugStderr = require('debug')('cypress:internal-stderr')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more of a nit but something like this?

Suggested change
const debugStderr = require('debug')('cypress:internal-stderr')
const debugStderr = require('debug')('cypress:electron:internal:stderr')

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not limited to electron - if other third party libs write to stderr, they'll show up here too

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah good point

@@ -1,7 +1,7 @@
{
"extends": "../ts/tsconfig.json",
"include": [
"src",
"src", "../stderr-filtering/lib/logError.ts", "../stderr-filtering/lib/stderrSplitting",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weird question but why do we need to do this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I... don't know.

Copy link
Member

@jennifer-shehane jennifer-shehane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jennifer-shehane
Copy link
Member

jennifer-shehane commented Aug 18, 2025

@cacieprins Also in this output: https://app.circleci.com/pipelines/github/cypress-io/cypress/73649/workflows/d3326ad8-b967-489b-9143-f66b02582436/jobs/3070633

Screenshot 2025-08-18 at 5 23 46 PM

Seems to be missing these types of messages

Screenshot 2025-08-18 at 5 28 53 PM

@cacieprins
Copy link
Contributor Author

@jennifer-shehane The first issue seems related to the child Cypress in cy-in-cy tests not being piped through the filtering. The second is likely similar (either filtering being turned off w/ environment variable, or otherwise stderr output not being filtered by the pipeline set up in packages/electron/lib/electron.js).

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@cacieprins cacieprins force-pushed the fix/audio-error-stdout branch from 187d42a to 52e67f2 Compare August 19, 2025 19:12
@jennifer-shehane jennifer-shehane dismissed their stale review August 19, 2025 20:05

Dismissing previous review - we'll make a followup issue for this.

@cacieprins cacieprins merged commit e463fdb into develop Aug 19, 2025
81 of 87 checks passed
@cacieprins cacieprins deleted the fix/audio-error-stdout branch August 19, 2025 21:05
@cypress-bot
Copy link
Contributor

cypress-bot bot commented Aug 20, 2025

Released in 15.0.0.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v15.0.0, please open a new issue.

@cypress-bot cypress-bot bot locked as resolved and limited conversation to collaborators Aug 20, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

15.0.0: Error: sysctlbyname for kern.hv_vmm_present failed with status -1 / ALSA lib errors
4 participants